问题描述:
用矩阵(二维数组)表示迷宫,其中1表示墙,0表示通路。老鼠在左上角,要走到迷宫右下角。
很简单的一个问题,主要是利用栈来记录走的每一步。还有就是在原始迷宫周围加上一圈“墙”,,避免边缘路径需要特殊处理(直接取值可能出现数组越界)。直接贴代码
//老鼠走迷宫问题
#include"stack.h"
#define X 10
class Point {
public:
int x;
int y;
char dir;
Point(){}
Point(int x1, int y1, char dir1){
x = x1;
y = y1;
}
};
int main() {
int maze[X][X] = { { 0, 1, 1, 1, 1, 1, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 },
{ 0, 0, 0,